package com.qianxun.module.application.common;

import com.qianxun.module.application.entity.DataSortQueryTable;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * 应用相关公用处理工具
 *
 * @author Admin
 */
@Data
public class CommonUtil {
    /**
     * 将排序类处理为排序字段集合
     *
     * @param dataSortQueryTable 待处理的排序类
     * @param force              是否强制加入返回集合中
     * @return
     */
    public static List<String> dealSortList(DataSortQueryTable dataSortQueryTable, boolean force) {
        String sort1Key = dataSortQueryTable.getSort1Key();
        String sort2Key = dataSortQueryTable.getSort2Key();
        String sort3Key = dataSortQueryTable.getSort3Key();
        String sort4Key = dataSortQueryTable.getSort4Key();
        String sort5Key = dataSortQueryTable.getSort5Key();

        List<String> sortKeyList = new ArrayList<>();
        if (force) {
            sortKeyList.add(sort1Key);
            sortKeyList.add(sort2Key);
            sortKeyList.add(sort3Key);
            sortKeyList.add(sort4Key);
            sortKeyList.add(sort5Key);
        } else {
            if (StringUtils.isNotBlank(sort1Key)) {
                sortKeyList.add(sort1Key);
            }
            if (StringUtils.isNotBlank(sort2Key)) {
                sortKeyList.add(sort2Key);
            }
            if (StringUtils.isNotBlank(sort3Key)) {
                sortKeyList.add(sort3Key);
            }
            if (StringUtils.isNotBlank(sort4Key)) {
                sortKeyList.add(sort4Key);
            }
            if (StringUtils.isNotBlank(sort5Key)) {
                sortKeyList.add(sort5Key);
            }
        }
        return sortKeyList;
    }
}
